SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS OFF
GO
  
CREATE PROC [dbo].[SP_TXMVTO_CNTB_Q14]        
/*-------------------------------------------------------------------*/                        
/*----- Empresa           : OFISIS S.A.                          ----*/                        
/*----- Cliente           : OFISIS S.A.                          ----*/                        
/*----- Sistema           : Contabilidad                         ----*/                        
/*----- Modulo            : Empresa                              ----*/                        
/*----- Programa          : Reporte Libro Mayor General(Quiebres)----*/                        
/*----- Nombre            : SP_TXMVTO_CNTB_Q14                   ----*/                        
/*----- Script            : TXMVTO_CNTB                          ----*/                        
/*----- Desarrollado por  : Percy GarcDa                         ----*/                        
/*----- Fecha             : 11/08/2002                           ----*/                        
/*----- Base de Datos     : MS SQL Server                        ----*/                        
/*----- Version BD        : 2000                                 ----*/                        
/*-------------------------------------------------------------------*/                        
/*-------------------------------------------------------------------*/                      
/*----- Modificado 1      : Percy Garc-a                         ----*/                      
/*----- Fecha             : 01/12/2003                           ----*/                       
/*----- Detalle           : Se aumento join con la empresa en el cursor (tmplan_empr) ----*/                      
/*-------------------------------------------------------------------*/                      
/*-------------------------------------------------------------------*/                      
/*----- Modificado 2      : Percy Garc-a                         ----*/                      
/*----- Fecha             : 01/12/2003                           ----*/                      
/*----- Detalle           : VALIDACIONES CASO MONEDA DIF. A SOLES, ACUMULE BIEN CASO QUIEBRES, MUESTRE SOLO RANGO ESCOGIDO  ----*/        
/*-------------------------------------------------------------------*/                      
/*-------------------------------------------------------------------*/                      
/*----- Modificado 3      : LMGP                                 ----*/                      
/*----- Fecha             : 11/11/2004                           ----*/                      
/*----- Detalle           : Migracion de Reporte de Viru         ----*/                      
/*-------------------------------------------------------------------*/                      
/*-------------------------------------------------------------------*/          
/*----- Modificado 4      : PDGV                                 ----*/          
/*----- Fecha             : 17/05/2006                           ----*/          
/*----- Detalle           : EL ORDER BY FINAL SE AUMENTO DOC, FECHAASTO,NU_ASTO ----*/          
/*-------------------------------------------------------------------*/          
/*-------------------------------------------------------------------*/                        
/*----- Drop proc SP_TXMVTO_CNTB_Q14                             ----*/                        
/*----- Grant Execute on SP_TXMVTO_CNTB_Q14 to PUBLIC            ----*/                        
/*----- SP_TXMVTO_CNTB_Q14                                       ----*/                        
/*-------------------------------------------------------------------*/                        
/*          
EXEC SP_TXMVTO_CNTB_Q14 '01', 1, 2005, 12, 12, 'SOL', '', '', '10411', '10411',                        
'','','',5,2,'CUD', 'HOLA','','','G'   
*/                      
@ISCO_EMPR                TD_VC_002,                        
@INNU_CNTB_EMPR           TD_IN_001,                        
@INNU_ANNO                TD_IN_004_ANNO,     
@INNU_MESE_INIC           TD_IN_002_MESE,                        
@INNU_MESE_FINA           TD_IN_002_MESE,                        
@ISCO_MONE                TD_VC_003,                        
@ISCO_UNID_CNTB           TD_VC_003,                        
@ISCO_OPRC_CNTB           TD_VC_003,                        
@ISCO_CNTA_EMP1           TD_VC_020_CNTA,                        
@ISCO_CNTA_EMP2           TD_VC_020_CNTA,           
   
@ISTI_AUXI_EMPR           TD_VC_001,                        
@ISCO_AUXI_EMP1           TD_VC_020,                        
@ISCO_AUXI_EMP2           TD_VC_020,                        
@INNV_INFO_CNTA           TD_IN_001,                        
@INNV_QUIE_SUPE           TD_IN_001,                        
@ISTI_REPO                TD_VC_003,                        
@ISNO_USUA                TD_VC_050,          
@ISCA_WHER_MOVI           Varchar(2000),          
@ISCA_WHER_SALD           Varchar(2000),          
@ISIN_UNID                TD_VC_001      -- U = Unidad, G = Todas las Unidades          
          
  
As                        
                        
/*---------------------------------------                        
   Creando tabla temporal para el reporte                         
  ---------------------------------------*/                        
Create Table #TWMVTO_CNTB_Q14_1                         
(NU_MESE_QUIE      int NULL,                        
 CO_CNTA_QUI1      Varchar(20) NULL,                        
 CO_CNTA_QUI2      Varchar(1) NULL,                  
 CO_CNTA_QUI3      Varchar(1) NULL,                        
 CO_CNTA_EMPR      Varchar(20) NULL,                        
 DE_CNTA_EMPR      Char(50) NULL,                        
 TO_CARG         Numeric(16,4)    NULL,                        
 TO_ABON           Numeric(16,4)    NULL,                        
 NU_MESE           int NULL,                        
 FE_ASTO_CNTB      Datetime NULL,                        
 NU_SECU           int NULL,                        
 CN_CNTB_EMP1      Varchar(20) NULL,                        
 TI_AUXI_EMPR      Char(01) NULL,                        
 CO_AUXI_EMPR      Varchar(20) NULL,                        
 CO_UNID_CNTB      Char(03) NULL,                        
 CO_OPRC_CNTB      Char(03) NULL,                         
 NU_ASTO           CHAR(10) NULL,                        
 TI_DOCU           Char(03) NULL,                        
 NU_DOCU           Char(20) NULL,                        
 FE_DOCU           Datetime NULL,                               
 IM_MVTO_ORIG      Numeric(16,4)    NULL,                        
 DE_GLOS           Char(100) NULL,                        
 IM_DEBE           Numeric(16,4)    NULL,                        
 IM_HABE           Numeric(16,4)    NULL,                         
 CO_TABL_ORIG      INT NULL,                         
 CO_CLAV_TAOR      VARCHAR(100) NULL,                        
 CO_ORDE_SERV      char(20) NULL )                        
                        
Declare                         
/* Variables a usar en el proceso */                        
 @VSTI_AUXI      TD_VC_010,                        
 @CSCO_CNTA      TD_VC_020_CNTA,                        
 @CSNO_CNTA      TD_VC_050,                        
 @CNIM_CARG      TD_NU_016_004,                        
 @CNIM_ABON      TD_NU_016_004,                        
 @VNNU_MESE      TD_IN_002_MESE,                        
 @VNNU_SECU      TD_IN_002,                        
 @VSCO_CNTA      TD_VC_020_CNTA,                        
 @VSCO_UNID      TD_VC_003,                        
 @VSCO_OPRC      TD_VC_003,                        
 @VSNU_ASTO      TD_VC_010,                        
 @VSTI_DOCU      TD_VC_003,                        
 @VSCO_MONE_CONT TD_VC_003,                        
 @VSNU_DOCU TD_VC_020,                        
 @VDFE_DOCU      TD_DT_001,                        
 @VSDE_GLOS      TD_VC_100,                        
 @VNIM_DEBE      TD_NU_016_004,                        
 @VNIM_HABE      TD_NU_016_004,                        
 @VSDE_CMD1  Char(255),                        
 @VSDE_CMD2      Char(255),                        
 @VNIM_SALD_CARG TD_NU_016_004,                                
 @VNIM_SALD_ABON TD_NU_016_004,                        
 @VNIM_CARG_INIC TD_NU_016_004,                        
 @VNIM_ABON_INIC TD_NU_016_004,              
 @VNTO_CARG_GENE TD_NU_016_004,                        
 @VNTO_ABON_GENE TD_NU_016_004,                        
 @VSNU_MESE Varchar (2),                        
 @VSNU_ANNO      Varchar (4),                        
 @VSNV_INFO_CNTA Varchar (2),                
 @VSNU_CNTB_EMPR Varchar (2),                        
 @VSIM_CARG      Varchar (20),                        
 @VSIM_ABON      Varchar (20),                        
 @CNNU_MESE      TD_IN_002_MESE,                        
 @VNSU_DEBE      TD_NU_016_004,          
 @VNSU_HABE      TD_NU_016_004,                 
 @VNTO_DEBE      TD_NU_016_004,          
 @VNTO_HABE      TD_NU_016_004,                 
 @VSCO_CNTA_0001 TD_VC_020,               
 @VNNU_QUIE_0001 TD_IN_001,                        
 @VNNU_QUIE_0002 TD_IN_001,          
 @VSCA_UNID_MOVI TD_VC_255,           
 @VSCA_UNID_SALD TD_VC_255,          
 @VSCA_CNTA_MOVI TD_VC_255,           
 @VSCA_CNTA_SALD TD_VC_255,          
 @VSCA_MONE_MOVI TD_VC_255,           
 @VSCA_MONE_SALD TD_VC_255,          
--- @VSCA_MONE_REPO TD_VC_255,          
 @VSCA_MONE_REPO Varchar(800),           
 @VSST_FILT   Varchar(1),   
 @VSCO_CNTA_EMP1 TD_VC_020_CNTA  
          
Select @VSST_FILT = 'N'          
If DataLength(Rtrim(Ltrim(@ISCA_WHER_SALD))) > 0          
  Select @VSST_FILT = 'S'          
          
Select @VSNV_INFO_CNTA = Convert(Varchar, @INNV_INFO_CNTA)                        
          
/*----------- FILTRO POR UNIDAD -------------*/          
Select @VSCA_UNID_MOVI = '' Select @VSCA_UNID_SALD = ''          
          
If @ISIN_UNID = 'U'          
 Begin          
  Select @VSCA_UNID_MOVI = ' And TXMVTO_CNTB.CO_UNID_CNTB = "' + @ISCO_UNID_CNTB + '" '          
  Select @VSCA_UNID_SALD = ' And TASALD_EMPR.CO_UNID_CNTB = "' + @ISCO_UNID_CNTB + '" '          
 End          
          
/*----------- R E P O R T E S   D E   C U E N T A S ------------*/                        
  
Select @VSCA_CNTA_MOVI = '' Select @VSCA_CNTA_SALD = ''          
If @ISCO_CNTA_EMP1 != '' And @ISCO_CNTA_EMP2 != ''          
Begin          
 Select @VSCA_CNTA_MOVI = ' And TXMVTO_CNTB.CO_CNTA_EMPR >= "' + @ISCO_CNTA_EMP1 + '" And TXMVTO_CNTB.CO_CNTA_EMPR <= "' + @ISCO_CNTA_EMP2  + '" '          
 Select @VSCA_CNTA_SALD = ' And TASALD_EMPR.CO_CNTA_EMPR >= "' + @ISCO_CNTA_EMP1 + '" And TASALD_EMPR.CO_CNTA_EMPR <= "' + @ISCO_CNTA_EMP2 + '" '           
 Select @ISCO_CNTA_EMP1 = SubString(@ISCO_CNTA_EMP1, 1, @INNV_QUIE_SUPE)          
 Select @VSCO_CNTA_EMP1 = @ISCO_CNTA_EMP1  
End  
/*----------- FILTRO POR MONEDA -------------*/          
          
Select @VSCO_MONE_CONT = CO_MONE          
From TTCNTB_EMPR           
Where CO_EMPR = @ISCO_EMPR           
And NU_CNTB_EMPR = @INNU_CNTB_EMPR           
          
Select @VSCO_CNTA_0001 = @ISCO_CNTA_EMP1                
          
-- Si la moneda de reporte es igual a moneda de la contabilidad          
If @ISCO_MONE = @VSCO_MONE_CONT          
Begin          
   Select @VSCA_MONE_MOVI =           
        ' (ASCII(TXMVTO_CNTB.TI_OPER)/67)*Round(IsNull(TXMVTO_CNTB.IM_MVTO_CNTB, 0), 2),          
          (65/ASCII(TXMVTO_CNTB.TI_OPER))*Round(IsNull(TXMVTO_CNTB.IM_MVTO_CNTB, 0), 2) '          
   Select @VSCA_MONE_SALD =           
        ' Isnull(SUM(ISNULL(TASALD_EMPR.IM_CARG_CNTB,0)), 0) AS CARGO,          
          Isnull(SUM(ISNULL(TASALD_EMPR.IM_ABON_CNTB,0)), 0) AS ABONO '          
   Select @VSCA_MONE_REPO = ' '          
End          
-- Si la moneda de reporte es Diferente a moneda de la contabilidad          
Else If @ISCO_MONE != @VSCO_MONE_CONT          
Begin          
   Select @VSCA_MONE_MOVI =           
        ' (ASCII(TXMVTO_CNTB.TI_OPER)/67)*Round(IsNull(TXMVTO_CNTB.IM_MVTO_ORIG, 0), 2),          
          (65/ASCII(TXMVTO_CNTB.TI_OPER))*Round(IsNull(TXMVTO_CNTB.IM_MVTO_ORIG, 0), 2) '          
   Select @VSCA_MONE_SALD =           
        ' Isnull(SUM(ISNULL(TASALD_EMPR.IM_CARG_ORIG,0)), 0) AS CARGO,          
          Isnull(SUM(ISNULL(TASALD_EMPR.IM_ABON_ORIG,0)), 0) AS ABONO '          
   Select @VSCA_MONE_REPO = '           
         and DATALENGTH(RTRIM(TASALD_EMPR.CO_CNTA_EMPR)) = ' + @VSNV_INFO_CNTA + '          
         and ( (DATALENGTH(RTRIM(TMPLAN_EMPR.CO_CNTA_EMPR)) = ' + @VSNV_INFO_CNTA + '                   
                and TMPLAN_EMPR.CO_MONE = "' + @ISCO_MONE + '")          
         or   DATALENGTH(RTRIM(TMPLAN_EMPR.CO_CNTA_EMPR)) < ' + @VSNV_INFO_CNTA + ' ) '          
End          
          
Select @VNNU_MESE = @INNU_MESE_INIC                        
Select @VSNU_ANNO = Convert(Varchar, @INNU_ANNO)                        
Select @VSNU_CNTB_EMPR = Convert(Varchar, @INNU_CNTB_EMPR)                        
                
While @VNNU_MESE <= @INNU_MESE_FINA          
Begin              
  Select @VSNU_MESE = Convert(Varchar, @VNNU_MESE)          
          
    EXEC('Insert Into #TWMVTO_CNTB_Q14_1(NU_MESE_QUIE, CO_CNTA_QUI1, CO_CNTA_QUI2,                       
     CO_CNTA_QUI3, CO_CNTA_EMPR, DE_CNTA_EMPR, TO_CARG,TO_ABON,NU_MESE,FE_ASTO_CNTB,                      
     NU_SECU, CN_CNTB_EMP1,TI_AUXI_EMPR,CO_AUXI_EMPR,CO_UNID_CNTB, CO_OPRC_CNTB,                      
     NU_ASTO,TI_DOCU,NU_DOCU,FE_DOCU,IM_MVTO_ORIG,DE_GLOS,IM_DEBE,IM_HABE, CO_TABL_ORIG,                       
     CO_CLAV_TAOR, CO_ORDE_SERV )                         
    Select ' + @VSNU_MESE + ', Replicate(" ", Datalength( T3.CUENTA )) + T3.CUENTA,                       
     (Case When DataLength(t3.CUENTA) = ' + @INNV_INFO_CNTA + ' Then Datalength(t3.CUENTA)                    
     Else Datalength(TXMVTO_CNTB.CO_CNTA_EMPR) End), datalength(T3.CUENTA), T3.CUENTA, T3.DESCRIPCION,           
     T3.CARGO, T3.ABONO, TXMVTO_CNTB.NU_MESE, TXMVTO_CNTB.FE_ASTO_CNTB,                       
     TXMVTO_CNTB.NU_SECU, TXMVTO_CNTB.CO_CNTA_EMPR, TXMVTO_CNTB.TI_AUXI_EMPR, TXMVTO_CNTB.CO_AUXI_EMPR,           
     TXMVTO_CNTB.CO_UNID_CNTB, TXMVTO_CNTB.CO_OPRC_CNTB, TXMVTO_CNTB.NU_ASTO, TXMVTO_CNTB.TI_DOCU,           
     TXMVTO_CNTB.NU_DOCU, TXMVTO_CNTB.FE_DOCU, Round(IsNull(TXMVTO_CNTB.IM_MVTO_ORIG,0),2),                       
     TXMVTO_CNTB.DE_GLOS, ' + @VSCA_MONE_MOVI + ', TXMVTO_CNTB.CO_TABL_ORIG,          
     TXMVTO_CNTB.CO_CLAV_TAOR, TXMVTO_CNTB.CO_ORDE_SERV          
    From (Select  TMPLAN_EMPR.CO_CNTA_EMPR AS CUENTA,          
                  MAX(RTRIM(TMPLAN_EMPR.DE_CNTA_EMPR)) AS DESCRIPCION, ' + @VSCA_MONE_SALD + '          
          From TMPLAN_EMPR          
        Left Outer Join TASALD_EMPR  
        On TASALD_EMPR.CO_EMPR = "' + @ISCO_EMPR + '" ' + @VSCA_UNID_SALD + '  
        And TASALD_EMPR.NU_CNTB_EMPR = ' + @VSNU_CNTB_EMPR + '                      
               And TASALD_EMPR.NU_ANNO = ' + @VSNU_ANNO + '                      
               And TASALD_EMPR.NU_MESE < ' + @VSNU_MESE  + @VSCA_CNTA_SALD  + '          
               And (("' + @VSST_FILT + '" = "N"           
               And TASALD_EMPR.TI_AUXI_EMPR IS NULL           
               And TASALD_EMPR.CO_AUXI_EMPR IS NULL           
               And TASALD_EMPR.CO_ORDE_SERV IS NULL) Or ("' + @VSST_FILT + '" = "S" ' +  @ISCA_WHER_SALD + '))  
               And TMPLAN_EMPR.CO_EMPR = TASALD_EMPR.CO_EMPR                      
               And TMPLAN_EMPR.CO_CNTA_EMPR = TASALD_EMPR.CO_CNTA_EMPR          
          Where TMPLAN_EMPR.CO_EMPR = "' + @ISCO_EMPR + '"   
          And   TMPLAN_EMPR.NU_ANNO = 9999 ' + @VSCA_MONE_REPO +  '          
          Group By TMPLAN_EMPR.CO_CNTA_EMPR  ) T3   
   Left outer Join TXMVTO_CNTB  
   On TXMVTO_CNTB.CO_EMPR = "' + @ISCO_EMPR + '"           
   And TXMVTO_CNTB.NU_CNTB_EMPR = ' + @VSNU_CNTB_EMPR + @VSCA_UNID_MOVI + '           
   And TXMVTO_CNTB.NU_ANNO = ' + @VSNU_ANNO + '          
   And TXMVTO_CNTB.NU_MESE = ' + @VSNU_MESE + @VSCA_CNTA_MOVI +  '          
   And TXMVTO_CNTB.CO_CNTA_EMPR = T3.CUENTA    
   And TXMVTO_CNTB.SI_MVTO_CNTB = "APR" ' + @ISCA_WHER_MOVI )                       
          
  Select @VNNU_MESE = @VNNU_MESE + 1          
End ---While          
  
/*----------ACTUALIZA LOS CARGOS Y ABONOS PARA LAS CUENTAS NO ANALITICAS, con la inf. del Periodo------------------*/                        
Declare CU_TXMVTO_CNTB_Q14_2 Cursor For   
Select NU_MESE_QUIE, CO_CNTA_EMPR   
From #TWMVTO_CNTB_Q14_1   
Where DataLength(CO_CNTA_EMPR)!= @INNV_INFO_CNTA   
  
Open CU_TXMVTO_CNTB_Q14_2   
Fetch CU_TXMVTO_CNTB_Q14_2 Into @CNNU_MESE, @CSCO_CNTA   
  
While @@Fetch_status = 0   
Begin   
  
If (@ISCO_CNTA_EMP2 Is Null Or Rtrim(@ISCO_CNTA_EMP2) = '') And (@VSCO_CNTA_0001 Is Null Or Rtrim(@VSCO_CNTA_0001) = '')  
  
 Select @VNSU_DEBE = Sum(IsNull(IM_DEBE, 0)), @VNSU_HABE = Sum(IsNull(IM_HABE, 0))  
 From #TWMVTO_CNTB_Q14_1  
 Where NU_MESE_QUIE = @CNNU_MESE  
 And CO_CNTA_EMPR LIKE @CSCO_CNTA + '%'  
 And CO_CNTA_EMPR != @CSCO_CNTA  
  
Else  
Begin  
  
 Select @VNSU_DEBE = Sum(IsNull(IM_DEBE, 0)), @VNSU_HABE = Sum(IsNull(IM_HABE, 0))  
 From #TWMVTO_CNTB_Q14_1  
 Where NU_MESE_QUIE = @CNNU_MESE  
 And CO_CNTA_EMPR LIKE @CSCO_CNTA + '%'  
 And CO_CNTA_EMPR != @CSCO_CNTA  
 And Rtrim(Ltrim(CO_CNTA_QUI1)) >= @VSCO_CNTA_EMP1 And Rtrim(Ltrim(CO_CNTA_QUI1)) <= @ISCO_CNTA_EMP2  
  
 Select @VNTO_DEBE = Sum(IsNull(T1.TO_CARG, 0)), @VNTO_HABE = Sum(IsNull(T1.TO_ABON, 0))  
 From ( Select CO_CNTA_EMPR, Max(IsNull(TO_CARG, 0)) as TO_CARG, Max(IsNull(TO_ABON, 0)) as TO_ABON  
 From #TWMVTO_CNTB_Q14_1  
 Where NU_MESE_QUIE = @CNNU_MESE  
 And DataLength(CO_CNTA_EMPR)= @INNV_INFO_CNTA   
 And  Rtrim(Ltrim(CO_CNTA_EMPR)) >= @ISCO_CNTA_EMP1 And Rtrim(Ltrim(CO_CNTA_EMPR)) <= @ISCO_CNTA_EMP2  
 Group By CO_CNTA_EMPR ) T1  
 Where T1.CO_CNTA_EMPR LIKE @CSCO_CNTA + '%'  
 And T1.CO_CNTA_EMPR != @CSCO_CNTA  
 Group by substring(T1.CO_CNTA_EMPR, 1, len(@CSCO_CNTA))  
  
End  
  
 Update #TWMVTO_CNTB_Q14_1  
 Set IM_DEBE = @VNSU_DEBE,  
     IM_HABE = @VNSU_HABE,  
     TO_CARG = @VNTO_DEBE,  
     TO_ABON = @VNTO_HABE  
 Where NU_MESE_QUIE = @CNNU_MESE  
 And CO_CNTA_EMPR = @CSCO_CNTA   
   
Fetch CU_TXMVTO_CNTB_Q14_2 Into @CNNU_MESE, @CSCO_CNTA                        
End  
Close CU_TXMVTO_CNTB_Q14_2                        
Deallocate CU_TXMVTO_CNTB_Q14_2                        
                     
If @ISCO_CNTA_EMP1 = '' And @ISCO_CNTA_EMP2 = ''                        
Begin                        
Insert Into #TWMVTO_CNTB_Q14_1                        
(NU_MESE_QUIE, CO_CNTA_QUI1, CO_CNTA_QUI2, CO_CNTA_QUI3, CO_CNTA_EMPR, DE_CNTA_EMPR,                         
 TO_CARG,TO_ABON,NU_MESE ,FE_ASTO_CNTB,NU_SECU,                         
 CN_CNTB_EMP1,TI_AUXI_EMPR,CO_AUXI_EMPR,CO_UNID_CNTB,                        
 CO_OPRC_CNTB,NU_ASTO,TI_DOCU,NU_DOCU,FE_DOCU,IM_MVTO_ORIG,DE_GLOS,IM_DEBE,IM_HABE,                        
 CO_TABL_ORIG , CO_CLAV_TAOR, CO_ORDE_SERV)                        
Select                         
 NU_MESE_QUIE, CO_CNTA_QUI1, '2', '1', CO_CNTA_EMPR + 'X', DE_CNTA_EMPR,                         
 TO_CARG,TO_ABON,NU_MESE ,FE_ASTO_CNTB,NU_SECU,                         
 CN_CNTB_EMP1,TI_AUXI_EMPR,CO_AUXI_EMPR,CO_UNID_CNTB,                        
 CO_OPRC_CNTB,NU_ASTO,TI_DOCU,NU_DOCU,FE_DOCU,IM_MVTO_ORIG,DE_GLOS,IM_DEBE,IM_HABE,                        
 CO_TABL_ORIG , CO_CLAV_TAOR, CO_ORDE_SERV                        
From #TWMVTO_CNTB_Q14_1                        
Where DataLength(Rtrim(CO_CNTA_EMPR)) != @INNV_INFO_CNTA                        
End                        
                        
Else If @ISCO_CNTA_EMP1 != '' And @ISCO_CNTA_EMP2 != ''                        
Begin                        
Insert Into #TWMVTO_CNTB_Q14_1                        
(NU_MESE_QUIE, CO_CNTA_QUI1, CO_CNTA_QUI2, CO_CNTA_QUI3, CO_CNTA_EMPR, DE_CNTA_EMPR,                         
 TO_CARG,TO_ABON,NU_MESE ,FE_ASTO_CNTB,NU_SECU,                         
 CN_CNTB_EMP1,TI_AUXI_EMPR,CO_AUXI_EMPR,CO_UNID_CNTB,                        
 CO_OPRC_CNTB,NU_ASTO,TI_DOCU,NU_DOCU,FE_DOCU,IM_MVTO_ORIG,DE_GLOS,IM_DEBE,IM_HABE,   
 CO_TABL_ORIG , CO_CLAV_TAOR, CO_ORDE_SERV)                        
Select                         
 NU_MESE_QUIE, CO_CNTA_QUI1, '2', '1', CO_CNTA_EMPR + 'X', DE_CNTA_EMPR,                         
 TO_CARG,TO_ABON,NU_MESE ,FE_ASTO_CNTB,NU_SECU,                         
 CN_CNTB_EMP1,TI_AUXI_EMPR,CO_AUXI_EMPR,CO_UNID_CNTB,                        
 CO_OPRC_CNTB,NU_ASTO,TI_DOCU,NU_DOCU,FE_DOCU,IM_MVTO_ORIG,DE_GLOS,IM_DEBE,IM_HABE,                        
 CO_TABL_ORIG , CO_CLAV_TAOR, CO_ORDE_SERV                        
From #TWMVTO_CNTB_Q14_1                        
Where DataLength(CO_CNTA_EMPR) != @INNV_INFO_CNTA                        
And CO_CNTA_EMPR Between @ISCO_CNTA_EMP1 And @ISCO_CNTA_EMP2                        
End                        
                        
/*-------------------FIN DE ACTUALIZACION PARA CUENTAS NO ANALITICAS*/                        
                        
/*--------------  D E T A L L A D O --------------*/                        
              
 /* INICIO CAPTURAR LAS CUENTAS QUE TIENEN ANALITICAS */              
 Create TABLE #TWCNTA_0001              
 (NU_MESE_0001 Int NULL,               
 CO_QUIE_0001 Varchar(20) NULL,               
 CO_QUIE_0002 Varchar(20) NULL)              
              
 Select @VNNU_QUIE_0001 = Convert(Int, SubString(NV_QUIE_CNTA, 1, 2)),               
 @VNNU_QUIE_0002 = Convert(Int, SubString(NV_QUIE_CNTA, 3, 2))               
 From TMPARA_CONT               
 Where CO_EMPR = @ISCO_EMPR               
 And NU_ANNO = 9999              
              
 Insert Into #TWCNTA_0001 (NU_MESE_0001, CO_QUIE_0001, CO_QUIE_0002)              
 Select Distinct NU_MESE_QUIE, SubString(Rtrim(Ltrim(CO_CNTA_QUI1)), 1, @VNNU_QUIE_0001),               
 SubString(Rtrim(Ltrim(CO_CNTA_QUI1)), 1, @VNNU_QUIE_0002)              
 From #TWMVTO_CNTB_Q14_1              
 Where DataLength(Rtrim(Ltrim(CO_CNTA_QUI1))) = @INNV_INFO_CNTA              
 And ((DataLength(Rtrim(@ISCO_CNTA_EMP2)) > 0                
 And Rtrim(Ltrim(CO_CNTA_QUI1)) >= @VSCO_CNTA_0001               
 And Rtrim(Ltrim(CO_CNTA_QUI1)) <= @ISCO_CNTA_EMP2) Or (DataLength(Rtrim(@ISCO_CNTA_EMP2)) = 0))               
              
 /* FIN CAPTURAR LAS CUENTAS QUE TIENEN ANALITICAS */              
          
If @ISTI_REPO = 'CUD' /*---- CUENTA ordenado por Unidad -----*/                        
 Begin                
  Select NU_MESE_QUIE, CO_CNTA_QUI1, CO_CNTA_QUI2, CO_CNTA_QUI3, CO_CNTA_EMPR, DE_CNTA_EMPR,           
   TO_CARG, TO_ABON, NU_MESE, convert(varchar(10),FE_ASTO_CNTB,103), NU_SECU, CN_CNTB_EMP1,           
   TI_AUXI_EMPR, CO_AUXI_EMPR, CO_UNID_CNTB,CO_OPRC_CNTB, NU_ASTO, TI_DOCU, NU_DOCU,           
   convert(varchar(10),FE_DOCU,103), IM_MVTO_ORIG, DE_GLOS, IM_DEBE, IM_HABE,           
   CO_TABL_ORIG, CO_CLAV_TAOR, '', CO_ORDE_SERV           
  From #TWMVTO_CNTB_Q14_1           
  Where (((TO_CARG > 0 Or TO_ABON > 0 Or IM_DEBE > 0 Or IM_HABE > 0 Or IM_MVTO_ORIG > 0) And  @ISCO_MONE = @VSCO_MONE_CONT)           
        Or (@ISCO_MONE != @VSCO_MONE_CONT And ((DataLength(Rtrim(Ltrim(CO_CNTA_QUI1))) = @INNV_INFO_CNTA)           
        Or (DataLength(Rtrim(Ltrim(CO_CNTA_QUI1))) < @INNV_INFO_CNTA           
        And ( Exists (Select CO_QUIE_0001 From #TWCNTA_0001 t1           
                      Where t1.NU_MESE_0001 = NU_MESE_QUIE              
                      And (t1.CO_QUIE_0001 = Rtrim(Ltrim(CO_CNTA_QUI1)) Or t1.CO_QUIE_0002 = Rtrim(Ltrim(CO_CNTA_QUI1)))              
          )          
            )               
  ))))                  
  And (DataLength(Rtrim(@ISCO_CNTA_EMP2)) = 0 Or (DataLength(Rtrim(@ISCO_CNTA_EMP2)) > 0 And               
  (((DataLength(RTrim(Ltrim(CO_CNTA_QUI1))) < @INNV_INFO_CNTA And RTrim(Ltrim(CO_CNTA_QUI1)) >= SubString(@VSCO_CNTA_0001, 1, DataLength(RTrim(Ltrim(CO_CNTA_QUI1))))                 
  And RTrim(Ltrim(CO_CNTA_QUI1)) <= SubString(@ISCO_CNTA_EMP2, 1, DataLength(RTrim(Ltrim(CO_CNTA_QUI1)))))                 
  Or (DataLength(RTrim(Ltrim(CO_CNTA_QUI1))) = @INNV_INFO_CNTA                
  And RTrim(Ltrim(CO_CNTA_QUI1)) >= @VSCO_CNTA_0001 And RTrim(Ltrim(CO_CNTA_QUI1)) <= @ISCO_CNTA_EMP2)))))          
  Order By NU_MESE_QUIE, CO_CNTA_EMPR, CO_UNID_CNTB, CO_OPRC_CNTB, TI_AUXI_EMPR, CO_AUXI_EMPR,  
  TI_DOCU,NU_DOCU,FE_ASTO_CNTB,NU_ASTO                         
 End                         
          
If @ISTI_REPO  = 'COD' /*---- CUENTA ordenado por Operacion -----*/                        
 Begin       
            
Select NU_MESE_QUIE, CO_CNTA_QUI1, CO_CNTA_QUI2, CO_CNTA_QUI3, CO_CNTA_EMPR, DE_CNTA_EMPR,                      
   TO_CARG, TO_ABON, NU_MESE, convert(varchar(10),FE_ASTO_CNTB,103), NU_SECU, CN_CNTB_EMP1,                      
   TI_AUXI_EMPR, CO_AUXI_EMPR, CO_UNID_CNTB,CO_OPRC_CNTB, NU_ASTO, TI_DOCU,                               
   NU_DOCU, convert(varchar(10),FE_DOCU,103),IM_MVTO_ORIG, DE_GLOS, IM_DEBE, IM_HABE ,                        
   CO_TABL_ORIG , CO_CLAV_TAOR , '', CO_ORDE_SERV         From #TWMVTO_CNTB_Q14_1                        
  Where (((TO_CARG > 0 Or TO_ABON > 0 Or IM_DEBE > 0 Or IM_HABE > 0 Or IM_MVTO_ORIG > 0) And               
  @ISCO_MONE = @VSCO_MONE_CONT) Or (@ISCO_MONE != @VSCO_MONE_CONT              
  And ((DataLength(Rtrim(Ltrim(CO_CNTA_QUI1))) = @INNV_INFO_CNTA)               
  Or (DataLength(Rtrim(Ltrim(CO_CNTA_QUI1))) < @INNV_INFO_CNTA               
  And ( Exists (Select CO_QUIE_0001 From #TWCNTA_0001 t1              
 Where t1.NU_MESE_0001 = NU_MESE_QUIE              
 And (t1.CO_QUIE_0001 = Rtrim(Ltrim(CO_CNTA_QUI1)) Or t1.CO_QUIE_0002 = Rtrim(Ltrim(CO_CNTA_QUI1)))              
  ))               
     ))              
))                  
  And (DataLength(Rtrim(@ISCO_CNTA_EMP2)) = 0 Or (DataLength(Rtrim(@ISCO_CNTA_EMP2)) > 0 And               
  (((DataLength(RTrim(Ltrim(CO_CNTA_QUI1))) < @INNV_INFO_CNTA And RTrim(Ltrim(CO_CNTA_QUI1)) >= SubString(@VSCO_CNTA_0001, 1, DataLength(RTrim(Ltrim(CO_CNTA_QUI1))))                 
  And RTrim(Ltrim(CO_CNTA_QUI1)) <= SubString(@ISCO_CNTA_EMP2, 1, DataLength(RTrim(Ltrim(CO_CNTA_QUI1)))))                 
  Or (DataLength(RTrim(Ltrim(CO_CNTA_QUI1))) = @INNV_INFO_CNTA                
  And RTrim(Ltrim(CO_CNTA_QUI1)) >= @VSCO_CNTA_0001 And RTrim(Ltrim(CO_CNTA_QUI1)) <= @ISCO_CNTA_EMP2)))))                    
  Order By NU_MESE_QUIE, CO_CNTA_EMPR, CO_OPRC_CNTB, CO_UNID_CNTB, TI_AUXI_EMPR, CO_AUXI_EMPR,  
  TI_DOCU,NU_DOCU,FE_ASTO_CNTB,NU_ASTO                        
 End                         
If @ISTI_REPO = 'CVD' /*---- CUENTA ordenado por Voucher -----*/                        
 Begin                        
  Select NU_MESE_QUIE, CO_CNTA_QUI1, CO_CNTA_QUI2, CO_CNTA_QUI3, CO_CNTA_EMPR, DE_CNTA_EMPR,                       
   TO_CARG, TO_ABON, NU_MESE, convert(varchar(10),FE_ASTO_CNTB,103), NU_SECU, CN_CNTB_EMP1,                      
   TI_AUXI_EMPR, CO_AUXI_EMPR, CO_UNID_CNTB, CO_OPRC_CNTB, NU_ASTO, TI_DOCU, NU_DOCU,                       
 convert(varchar(10),FE_DOCU,103), IM_MVTO_ORIG,DE_GLOS, IM_DEBE, IM_HABE, CO_TABL_ORIG,                       
   CO_CLAV_TAOR, '',CO_ORDE_SERV                           
  From #TWMVTO_CNTB_Q14_1                        
  Where (((TO_CARG > 0 Or TO_ABON > 0 Or IM_DEBE > 0 Or IM_HABE > 0 Or IM_MVTO_ORIG > 0) And               
  @ISCO_MONE = @VSCO_MONE_CONT) Or (@ISCO_MONE != @VSCO_MONE_CONT              
  And ((DataLength(Rtrim(Ltrim(CO_CNTA_QUI1))) = @INNV_INFO_CNTA)               
  Or (DataLength(Rtrim(Ltrim(CO_CNTA_QUI1))) < @INNV_INFO_CNTA               
  And ( Exists (Select CO_QUIE_0001 From #TWCNTA_0001 t1              
 Where t1.NU_MESE_0001 = NU_MESE_QUIE              
 And (t1.CO_QUIE_0001 = Rtrim(Ltrim(CO_CNTA_QUI1)) Or t1.CO_QUIE_0002 = Rtrim(Ltrim(CO_CNTA_QUI1)))              
  ))               
     ))              
))                  
  And (DataLength(Rtrim(@ISCO_CNTA_EMP2)) = 0 Or (DataLength(Rtrim(@ISCO_CNTA_EMP2)) > 0 And               
  (((DataLength(RTrim(Ltrim(CO_CNTA_QUI1))) < @INNV_INFO_CNTA And RTrim(Ltrim(CO_CNTA_QUI1)) >= SubString(@VSCO_CNTA_0001, 1, DataLength(RTrim(Ltrim(CO_CNTA_QUI1))))         
  And RTrim(Ltrim(CO_CNTA_QUI1)) <= SubString(@ISCO_CNTA_EMP2, 1, DataLength(RTrim(Ltrim(CO_CNTA_QUI1)))))                 
  Or (DataLength(RTrim(Ltrim(CO_CNTA_QUI1))) = @INNV_INFO_CNTA                
  And RTrim(Ltrim(CO_CNTA_QUI1)) >= @VSCO_CNTA_0001 And RTrim(Ltrim(CO_CNTA_QUI1)) <= @ISCO_CNTA_EMP2)))))                    
  Order By NU_MESE_QUIE, CO_CNTA_EMPR, NU_ASTO, CO_UNID_CNTB, CO_OPRC_CNTB, TI_AUXI_EMPR, CO_AUXI_EMPR,  
  TI_DOCU,NU_DOCU,FE_ASTO_CNTB  
              
 End                        
If @ISTI_REPO = 'CFD' /*---- CUENTA ordenado por Fecha -----*/                        
 Begin                        
  Select NU_MESE_QUIE, CO_CNTA_QUI1, CO_CNTA_QUI2, CO_CNTA_QUI3, CO_CNTA_EMPR, DE_CNTA_EMPR,                       
   TO_CARG, TO_ABON, NU_MESE, convert(varchar(10),FE_ASTO_CNTB,103), NU_SECU, CN_CNTB_EMP1,                      
   TI_AUXI_EMPR, CO_AUXI_EMPR, CO_UNID_CNTB, CO_OPRC_CNTB, NU_ASTO, TI_DOCU, NU_DOCU,                       
   convert(varchar(10),FE_DOCU,103), IM_MVTO_ORIG, DE_GLOS, IM_DEBE, IM_HABE,CO_TABL_ORIG,                       
   CO_CLAV_TAOR , '', CO_ORDE_SERV                       
  From #TWMVTO_CNTB_Q14_1                        
  Where (((TO_CARG > 0 Or TO_ABON > 0 Or IM_DEBE > 0 Or IM_HABE > 0 Or IM_MVTO_ORIG > 0) And               
  @ISCO_MONE = @VSCO_MONE_CONT) Or (@ISCO_MONE != @VSCO_MONE_CONT              
  And ((DataLength(Rtrim(Ltrim(CO_CNTA_QUI1))) = @INNV_INFO_CNTA)               
  Or (DataLength(Rtrim(Ltrim(CO_CNTA_QUI1))) < @INNV_INFO_CNTA               
  And ( Exists (Select CO_QUIE_0001 From #TWCNTA_0001 t1              
 Where t1.NU_MESE_0001 = NU_MESE_QUIE              
 And (t1.CO_QUIE_0001 = Rtrim(Ltrim(CO_CNTA_QUI1)) Or t1.CO_QUIE_0002 = Rtrim(Ltrim(CO_CNTA_QUI1)))              
  ))               
     ))              
))                  
  And (DataLength(Rtrim(@ISCO_CNTA_EMP2)) = 0 Or (DataLength(Rtrim(@ISCO_CNTA_EMP2)) > 0 And               
  (((DataLength(RTrim(Ltrim(CO_CNTA_QUI1))) < @INNV_INFO_CNTA And RTrim(Ltrim(CO_CNTA_QUI1)) >= SubString(@VSCO_CNTA_0001, 1, DataLength(RTrim(Ltrim(CO_CNTA_QUI1))))                 
  And RTrim(Ltrim(CO_CNTA_QUI1)) <= SubString(@ISCO_CNTA_EMP2, 1, DataLength(RTrim(Ltrim(CO_CNTA_QUI1)))))                 
  Or (DataLength(RTrim(Ltrim(CO_CNTA_QUI1))) = @INNV_INFO_CNTA                
  And RTrim(Ltrim(CO_CNTA_QUI1)) >= @VSCO_CNTA_0001 And RTrim(Ltrim(CO_CNTA_QUI1)) <= @ISCO_CNTA_EMP2)))))                    
  Order By NU_MESE_QUIE, CO_CNTA_EMPR, FE_ASTO_CNTB, CO_UNID_CNTB, CO_OPRC_CNTB, TI_AUXI_EMPR,                       
   CO_AUXI_EMPR,  
  TI_DOCU,NU_DOCU,NU_ASTO                        
 End                         
/*--------------  R E S U M E N  --------------*/                        
If @ISTI_REPO = 'CUR' /*---- CUENTA ordenado por Unidad -----*/                        
 Begin                        
  Select NU_MESE_QUIE, Max(CO_CNTA_QUI1), Max(CO_CNTA_QUI2), Max(CO_CNTA_QUI3), CO_CNTA_EMPR,                      
 DE_CNTA_EMPR, MAX(TO_CARG), MAX(TO_ABON), '', '',                       
 Isnull(SUM(Isnull(IM_DEBE, 0)), 0), Isnull(SUM(Isnull(IM_HABE, 0)), 0)                            
   From #TWMVTO_CNTB_Q14_1                        
   Where (((TO_CARG > 0 Or TO_ABON > 0 Or IM_DEBE > 0 Or IM_HABE > 0) And @ISCO_MONE = @VSCO_MONE_CONT)              
   Or (@ISCO_MONE != @VSCO_MONE_CONT              
  And ((DataLength(Rtrim(Ltrim(CO_CNTA_QUI1))) = @INNV_INFO_CNTA)               
  Or (DataLength(Rtrim(Ltrim(CO_CNTA_QUI1))) < @INNV_INFO_CNTA               
  And ( Exists (Select CO_QUIE_0001 From #TWCNTA_0001 t1              
 Where t1.NU_MESE_0001 = NU_MESE_QUIE              
 And (t1.CO_QUIE_0001 = Rtrim(Ltrim(CO_CNTA_QUI1)) Or t1.CO_QUIE_0002 = Rtrim(Ltrim(CO_CNTA_QUI1)))              
  ))               
     ))              
))               
  And (DataLength(Rtrim(@ISCO_CNTA_EMP2)) = 0 Or (DataLength(Rtrim(@ISCO_CNTA_EMP2)) > 0 And               
  (((DataLength(RTrim(Ltrim(CO_CNTA_QUI1))) < @INNV_INFO_CNTA And RTrim(Ltrim(CO_CNTA_QUI1)) >= SubString(@VSCO_CNTA_0001, 1, DataLength(RTrim(Ltrim(CO_CNTA_QUI1))))                 
  And RTrim(Ltrim(CO_CNTA_QUI1)) <= SubString(@ISCO_CNTA_EMP2, 1, DataLength(RTrim(Ltrim(CO_CNTA_QUI1)))))                 
  Or (DataLength(RTrim(Ltrim(CO_CNTA_QUI1))) = @INNV_INFO_CNTA                
  And RTrim(Ltrim(CO_CNTA_QUI1)) >= @VSCO_CNTA_0001 And RTrim(Ltrim(CO_CNTA_QUI1)) <= @ISCO_CNTA_EMP2)))))                    
   Group By NU_MESE_QUIE, CO_CNTA_EMPR, DE_CNTA_EMPR                        
   Order   
By NU_MESE_QUIE, CO_CNTA_EMPR                        
 End                         
If @ISTI_REPO = 'COR' /*---- CUENTA ordenado por Operacion -----*/                        
 Begin                        
  Select NU_MESE_QUIE, Max(CO_CNTA_QUI1), Max(CO_CNTA_QUI2), Max(CO_CNTA_QUI3), CO_CNTA_EMPR,            
 DE_CNTA_EMPR, MAX(TO_CARG), MAX(TO_ABON), '', '',                       
 Isnull(SUM(Isnull(IM_DEBE, 0)), 0), Isnull(SUM(Isnull(IM_HABE, 0)), 0)                            
  From #TWMVTO_CNTB_Q14_1                        
   Where (((TO_CARG > 0 Or TO_ABON > 0 Or IM_DEBE > 0 Or IM_HABE > 0) And @ISCO_MONE = @VSCO_MONE_CONT)              
   Or (@ISCO_MONE != @VSCO_MONE_CONT              
  And ((DataLength(Rtrim(Ltrim(CO_CNTA_QUI1))) = @INNV_INFO_CNTA)               
  Or (DataLength(Rtrim(Ltrim(CO_CNTA_QUI1))) < @INNV_INFO_CNTA               
  And ( Exists (Select CO_QUIE_0001 From #TWCNTA_0001 t1              
 Where t1.NU_MESE_0001 = NU_MESE_QUIE              
 And (t1.CO_QUIE_0001 = Rtrim(Ltrim(CO_CNTA_QUI1)) Or t1.CO_QUIE_0002 = Rtrim(Ltrim(CO_CNTA_QUI1)))              
  ))               
     ))              
))               
  And (DataLength(Rtrim(@ISCO_CNTA_EMP2)) = 0 Or (DataLength(Rtrim(@ISCO_CNTA_EMP2)) > 0 And               
  (((DataLength(RTrim(Ltrim(CO_CNTA_QUI1))) < @INNV_INFO_CNTA And RTrim(Ltrim(CO_CNTA_QUI1)) >= SubString(@VSCO_CNTA_0001, 1, DataLength(RTrim(Ltrim(CO_CNTA_QUI1))))                 
  And RTrim(Ltrim(CO_CNTA_QUI1)) <= SubString(@ISCO_CNTA_EMP2, 1, DataLength(RTrim(Ltrim(CO_CNTA_QUI1)))))                 
  Or (DataLength(RTrim(Ltrim(CO_CNTA_QUI1))) = @INNV_INFO_CNTA                
  And RTrim(Ltrim(CO_CNTA_QUI1)) >= @VSCO_CNTA_0001 And RTrim(Ltrim(CO_CNTA_QUI1)) <= @ISCO_CNTA_EMP2)))))                    
  Group By NU_MESE_QUIE, CO_CNTA_EMPR, DE_CNTA_EMPR                        
  Order By NU_MESE_QUIE, CO_CNTA_EMPR                        
 End                         
If @ISTI_REPO = 'CVR' /*---- CUENTA ordenado por Voucher -----*/                    
   Begin                        
   Select NU_MESE_QUIE, Max(CO_CNTA_QUI1), Max(CO_CNTA_QUI2), Max(CO_CNTA_QUI3), CO_CNTA_EMPR,                      
 DE_CNTA_EMPR, MAX(TO_CARG), MAX(TO_ABON), '', '',                       
 Isnull(SUM(Isnull(IM_DEBE, 0)), 0), Isnull(SUM(Isnull(IM_HABE, 0)), 0)                            
   From #TWMVTO_CNTB_Q14_1                        
   Where (((TO_CARG > 0 Or TO_ABON > 0 Or IM_DEBE > 0 Or IM_HABE > 0) And @ISCO_MONE = @VSCO_MONE_CONT)              
   Or (@ISCO_MONE != @VSCO_MONE_CONT              
  And ((DataLength(Rtrim(Ltrim(CO_CNTA_QUI1))) = @INNV_INFO_CNTA)               
  Or (DataLength(Rtrim(Ltrim(CO_CNTA_QUI1))) < @INNV_INFO_CNTA               
  And ( Exists (Select CO_QUIE_0001 From #TWCNTA_0001 t1              
 Where t1.NU_MESE_0001 = NU_MESE_QUIE              
 And (t1.CO_QUIE_0001 = Rtrim(Ltrim(CO_CNTA_QUI1)) Or t1.CO_QUIE_0002 = Rtrim(Ltrim(CO_CNTA_QUI1)))              
  ))               
     ))              
))               
  And (DataLength(Rtrim(@ISCO_CNTA_EMP2)) = 0 Or (DataLength(Rtrim(@ISCO_CNTA_EMP2)) > 0 And               
  (((DataLength(RTrim(Ltrim(CO_CNTA_QUI1))) < @INNV_INFO_CNTA And RTrim(Ltrim(CO_CNTA_QUI1)) >= SubString(@VSCO_CNTA_0001, 1, DataLength(RTrim(Ltrim(CO_CNTA_QUI1))))                 
  And RTrim(Ltrim(CO_CNTA_QUI1)) <= SubString(@ISCO_CNTA_EMP2, 1, DataLength(RTrim(Ltrim(CO_CNTA_QUI1)))))                 
  Or (DataLength(RTrim(Ltrim(CO_CNTA_QUI1))) = @INNV_INFO_CNTA                
  And RTrim(Ltrim(CO_CNTA_QUI1)) >= @VSCO_CNTA_0001 And RTrim(Ltrim(CO_CNTA_QUI1)) <= @ISCO_CNTA_EMP2)))))                    
   Group By NU_MESE_QUIE, CO_CNTA_EMPR, DE_CNTA_EMPR                        
   Order By NU_MESE_QUIE, CO_CNTA_EMPR                        
   End                         
If @ISTI_REPO = 'CFR' /*---- CUENTA ordenado por Fecha -----*/                        
   Begin      Select NU_MESE_QUIE, Max(CO_CNTA_QUI1), Max(CO_CNTA_QUI2), Max(CO_CNTA_QUI3), CO_CNTA_EMPR,                      
-- DE_CNTA_EMPR, MAX(TO_CARG), MAX(TO_ABON), CO_CNTA_EMPR, DE_CNTA_EMPR,                       
 DE_CNTA_EMPR, MAX(TO_CARG), MAX(TO_ABON), '', '',                       
 Isnull(SUM(Isnull(IM_DEBE, 0)), 0), Isnull(SUM(Isnull(IM_HABE, 0)), 0)                            
   From #TWMVTO_CNTB_Q14_1                        
   Where (((TO_CARG > 0 Or TO_ABON > 0 Or IM_DEBE > 0 Or IM_HABE > 0) And @ISCO_MONE = @VSCO_MONE_CONT)              
   Or (@ISCO_MONE != @VSCO_MONE_CONT              
  And ((DataLength(Rtrim(Ltrim(CO_CNTA_QUI1))) = @INNV_INFO_CNTA)               
  Or (DataLength(Rtrim(Ltrim(CO_CNTA_QUI1))) < @INNV_INFO_CNTA               
  And ( Exists (Select CO_QUIE_0001 From #TWCNTA_0001 t1              
 Where t1.NU_MESE_0001 = NU_MESE_QUIE              
 And (t1.CO_QUIE_0001 = Rtrim(Ltrim(CO_CNTA_QUI1)) Or t1.CO_QUIE_0002 = Rtrim(Ltrim(CO_CNTA_QUI1)))              
  ))               
     ))              
))               
  And (DataLength(Rtrim(@ISCO_CNTA_EMP2)) = 0 Or (DataLength(Rtrim(@ISCO_CNTA_EMP2)) > 0 And               
  (((DataLength(RTrim(Ltrim(CO_CNTA_QUI1))) < @INNV_INFO_CNTA And RTrim(Ltrim(CO_CNTA_QUI1)) >= SubString(@VSCO_CNTA_0001, 1, DataLength(RTrim(Ltrim(CO_CNTA_QUI1))))                 
  And RTrim(Ltrim(CO_CNTA_QUI1)) <= SubString(@ISCO_CNTA_EMP2, 1, DataLength(RTrim(Ltrim(CO_CNTA_QUI1)))))                 
  Or (DataLength(RTrim(Ltrim(CO_CNTA_QUI1))) = @INNV_INFO_CNTA                
  And RTrim(Ltrim(CO_CNTA_QUI1)) >= @VSCO_CNTA_0001 And RTrim(Ltrim(CO_CNTA_QUI1)) <= @ISCO_CNTA_EMP2)))))                    
   Group By NU_MESE_QUIE, CO_CNTA_EMPR, DE_CNTA_EMPR                        
   Order By NU_MESE_QUIE, CO_CNTA_EMPR                        
   End                         
return            
            
/*--------------------------------------------- Fin ---------------------------------------------------------------*/                        
GO
